import {createRouter, createWebHistory, createWebHashHistory} from 'vue-router'
import auth from '@/utils/auth'
import routes from '@/plugins/routes'

// 创建router实例
const router = createRouter({
    // applies to all routes
    strict: true,
    // 服务器模式
    history: createWebHistory(),
    // Hash模式
    // history: createWebHashHistory(),
    routes,
})

// 路由拦截
router.beforeEach(async (to, from) => {
    // 而不是去检查每条路由记录
    // to.matched.some(record => record.meta.requiresAuth)
    if (to.meta.requiresAuth !== false && auth.isLoggedIn === false) {
        // 此路由需要授权，请检查是否已登录
        // 如果没有，则重定向到登录页面
        return {
            path: '/login',
            // 保存我们所在的位置，以便以后再来
            query: {redirect: to.fullPath},
        }
    }
})

// 导出
export {
    router
}
